Skip to content

fix: complete classic manager compatibility paths - #838

Closed
benletchford wants to merge 1 commit into
masterfrom
dev/notification-manager-responses
Closed

fix: complete classic manager compatibility paths#838
benletchford wants to merge 1 commit into
masterfrom
dev/notification-manager-responses

Conversation

@benletchford

Copy link
Copy Markdown
Owner

Summary

  • execute Notification Manager response procedures with documented queue and removal behavior
  • dispatch application-defined control hit testing and tracking callbacks, including popup MenuChoice state and high-bit CDEF IDs
  • preserve complete menu resources, application-drawn dialogs, and already-front window selection
  • synthesize standard System patterns and ROM-shaped exception handlers
  • resolve full HFS catalog paths and direct-framebuffer control labels against the live palette
  • add focused regression tests for every corrected compatibility path

Validation

  • cargo test
  • cargo check --target wasm32-unknown-unknown --lib
  • two clean deterministic 68K completion runs with identical checkpoint hashes
  • the same 122-action route under BasiliskII, covering setup, gameplay, accelerated completion, final state, box-score options, and the detailed report

Closes #770

@benletchford

Copy link
Copy Markdown
Owner Author

This is not merge-ready against current master. The branch now conflicts in the control path, and master has since landed substantial classic window/menu behavior plus shared cross-architecture runtime and memory changes that overlap the nine-subsystem scope here.

Please rebase onto current master and reduce the PR to the compatibility work that is still missing after those releases. If the remaining delta is still broad, split it into focused issue/PR units so each documented Toolbox behavior can be reviewed and released independently. Then rerun the focused trap tests, full suite, wasm check, deterministic route, and BasiliskII comparison. I am leaving #770 open and not merging the stale conflict resolution.

@benletchford

Copy link
Copy Markdown
Owner Author

I attempted a rebase onto current master in an isolated checkout. This is not a mechanical realignment: it conflicts in globals, runner, controls, dispatcher and menus. In particular, the incoming runner code restores ActiveInterruptCallback/active_interrupt_callback-era scheduling while current master uses the shared guest-call machinery and callback_suspends_guest_clock; the MENU changes also overlap current complete-resource and nested-MDEF handling. Taking either side wholesale would lose behavior. Please port only the still-missing notification/control behaviors to the current task model and remove superseded menu changes, with focused regressions and a fresh #770 route/oracle comparison. I left the public branch unchanged and the PR open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: complete classic manager compatibility paths

1 participant